﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MonopolyNOHI;

namespace MonopolyNOHItest
{
    [TestClass]
    public class DobbelbekerUnitTest
    {

        
        [TestMethod]
        public void DobbelBekerTestMethod()
        {
            //Aanmaken dobbelbeker en dobbelstenen
            var testDobbelbeker = new Dobbelbeker();
            var dobbelstenen = new List<Dobbelsteen>();
            
            //Variabelen
            var totaalAantalOgen = 0;
            const int aantalDobbelstenen = 2;


            for (int i = 0; i < aantalDobbelstenen; i++)
            {
                dobbelstenen.Add(new Dobbelsteen());
            }

            //Gooi stenen
            testDobbelbeker.GooiStenen();
 
            foreach (Dobbelsteen steen in dobbelstenen)
            {
                steen.Gooi();
                totaalAantalOgen += steen.GetAantalOgen();
            }

            //Aantal ogen per dobbelsteen
            var eersteSteen = dobbelstenen.ElementAt(0).GetAantalOgen();
            var tweedeSteen = dobbelstenen.ElementAt(1).GetAantalOgen();

            testDobbelbeker.GetDubbel();
            testDobbelbeker.GetTotaalOgen();
            testDobbelbeker.GooiStenen();
            testDobbelbeker.ToString();

            //Asserts
            Assert.AreEqual(2, dobbelstenen.Count);
            Assert.AreEqual(totaalAantalOgen, eersteSteen + tweedeSteen);
        }

    }
}
